package com.shuma.upms.user.service;

import com.shuma.upms.user.domain.dto.PasswordResetDTO;
import com.shuma.upms.user.domain.dto.UserLoginDTO;
import com.shuma.upms.user.domain.dto.UserRegisterDTO;
import com.shuma.upms.user.domain.dto.UserUpdateDTO;
import com.shuma.upms.user.domain.vo.LoginSuccessVO;
import com.shuma.upms.user.domain.vo.PageVO;
import com.shuma.upms.user.domain.vo.UserInfoVo;
import com.shuma.upms.user.exception.BusinessException;

import javax.validation.Valid;
import java.util.List;

public interface UserService {

    // 登录
    LoginSuccessVO login(UserLoginDTO loginDTO, String ip);

    // 注册
    void register(UserRegisterDTO registerDTO, String ip);

    //分页查询用户列表
    PageVO<UserInfoVo> listUsers(int pageNum, int pageSize);

    // 获取用户信息
    UserInfoVo getUserInfo(Long userId);

    // 修改用户信息
    void updateUserInfo(Long userId, UserUpdateDTO dto, String ip);

    // 重置密码
    void resetPassword(Long userId, PasswordResetDTO dto, String ip);



}